package model

import (
	"time"
	"xorm.io/xorm"
)

// Urls url表
type Url struct {
	Id          int64     `xorm:"pk unique autoincr"`         // id
	OriginalUrl string    `xorm:"varchar(2048) notnull"`      // 原始url
	ShortCode   string    `xorm:"varchar(10) unique notnull"` // 短代码
	ExpireTime  time.Time `xorm:"notnull"`
	IsCustom    bool      `xorm:"default 0"`                  // 短代码是否为自定义
	CreateTime  string    `xorm:"created comment('minute')" ` // 创建时间
}

// 用户post请求数据
type RequestUrl struct {
	OriginalUrl string `json:"originalUrl"`
	IsCustom    bool   `json:"isCustom"`
	ExpireTime  int    `json:"expireTime"`
}

// response数据
type ResponseShortUrl struct {
	ShortenedUrl string `json:"shortUrl"`
	Message      string `json:"resMessage"`
}

func InitTable(engine *xorm.Engine) error {
	return engine.Sync2(new(Url))
}
